1. Field of the Invention
The invention relates to layout of circuit components, including determining the interconnections, buffers, or path nets between circuit blocks or circuit components and input/output bonding pads.
2. Background Art
Electronic design automation (EDA) tools, also known as computer aided design (CAD) tools, are used by designers of electronic circuits to create representations of circuit configurations, including representations of electronic cells (e.g., transistors), and interconnects between them. Commercially available electronic design automation (EDA) tools allow designers to create circuit layouts and to simulate the performance of the resulting digital circuit. Some EDA tools allow simulation of both digital and analog (timing, noise, cross-talk, attenuation) simulation without requiring the costly and lengthy process of fabrication and design.
One aspect of the “analog design” of digital circuits is the ability to design for and to compensate for timing delays and transmission line effects, including the ability to quickly see and fix problematic timing paths. In this way, electronic design automation tools allow designers to design digital circuits and substantially simultaneously compensate for timing delays and transmission line effects. Designing for analog effects, including transmission line effects, is part of the process of developing and implementing buffering and wiring solutions.
Modern electronic circuits operate at very high clock speeds. This means that these digital circuits must be designed so that signals traveling within the circuits are timed properly to successfully perform their tasks. A problem faced by designers is signal transmission delay throughout the electronic circuit. These delays and associated signal degradation are caused by the electronic cells and the interconnects between them. These delays and degradations are modeled as reactances (inductances and capacitances) and transmission line effects.
Recent and continuing technical advances in the art of circuit fabrication, allowing the construction of sub-micron electronic cells, has materially exacerbated these effects, decreasing the delay introduced by the electronic cells (cell delays) and thus has increased the apparent delay in signal transmission introduced by the interconnects (interconnect delays). Interconnect delay is due primarily to resistance and capacitance, relative to the cell delays. interconnect delays often exceed the cell delays.
To reduce ramp delays caused by the resistance and capacitance of the interconnect (a form of interconnect delay), buffer cells are inserted into the interconnect. The buffer cells themselves, however, introduce gate delays into the interconnect. This results in a tradeoff between reducing ramp delays and minimizing gate delays. For any given application, there is a number of buffer cells (in part dependent on the type of buffer cell) that represents a balance between the ramp delay and the gate delays in an interconnect structure, and this number of buffer cells meets both signal propagation and timing constraints.
One method of establishing the number of buffer cells, when there is only one receiving cell, involves inserting buffer cells based solely upon the length of the interconnect. This method however, only roughly approximates the number of buffer cells. This is because parameters of the driving electronic cell are not utilized in connection with the “analog” or “transmission line” parameters of the interconnect, such as capacitance, resistance, and inductance.
A typical electronic design method includes laying out the interconnects between electronic cells and then inserting buffer cells based upon the designer's best estimates. The method then involves performing a computer implemented analysis, such as using a SPICE analysis, that calculates the signal propagation delay and/or attenuation for that design based upon the actual parameters of the driving cell, buffer cells and interconnects. The circuit designer then adjusts the number, location, and/or type of the buffer cells to improve the “transmission line” parameters, such as the signal propagation delay and or attenuation, and performs a computer implemented analysis to determine if an improved or optimal number, placement and/or type of buffer cell can be found. This approach may require many iterations before an optimal number, placement and type of buffer cells is determined. Further, each iteration is often time consuming because the calculations are done real time, using an analog circuit simulation tool such as SPICE. Therefore, this iterative or “trial and error” approach, while more accurate than the “pure length” approach, is too time consuming for practical use if a desired number, placement and type of buffer cells is to be determined.
A need exists to optimize buffering and wiring solutions, including automatic wiring and buffer insertion, for VLSI design, and to allow timers and integrators to find complete buffer and wiring solutions, while maintaining a high quality solution. This is especially critical in seeking to strike a balance between late model timing results while attempting to achieve a realizable physical design. The problem is that traditional, prior art, single pass buffering and wiring stages become inadequate for designs characterized by a large fraction of nets that have very have very high fanouts. This is because all of these high fanout nets tend to be or are timing critical, so that a more aggressive solution is required. Moreover, the more control oriented and less data centric that a design is, the more critical timing and delays are.
There exists, therefore, a need for a system and method that are able to quickly and accurately determine, for a particular interconnect, the types and number of buffers to maintain signal speed within tolerance, and reduce uncertainly in signal propagation to ensure signal timing constraints are met.